package com.qf.common.Dto;


import com.qf.common.constants.OrderConstant;
import lombok.Data;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;
import javax.validation.constraints.Pattern;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author KING
 * @ClassName: com.qf.common.Dto.OrderDto
 * @Description: 该类的功能描述
 * @date: 2021/10/30 10:32
 */
@Data
public class OrderDto {

    interface OrderAdd {
    }

    interface OrderFind {
    }

    /**
     * 订单表ID
     */
    @Null(groups = OrderAdd.class)
    private Long orderId;

    /**
     * 店铺id
     */
    @NotNull(groups = OrderAdd.class)
    private Long storeId;

    /**
     * 订单编号
     */
    @Null(groups = OrderAdd.class)
    private String orderNo;

    /**
     * 收货人姓名
     */
    private String receivingName;

    /**
     * 收货人电话
     */
    @Pattern(regexp = OrderConstant.Regexp.REGEXP_PHONE, message = OrderConstant.Msg.MSG_PHONE)
    private String receivingPhone;

    /**
     * 省份/直辖市
     */
    private String receiverProvince;

    /**
     * 城市
     */
    private String receiverCity;

    /**
     * 区
     */
    private String receiverRegion;

    /**
     * 详细地址
     */
    private String receiverDetailAddress;

    /**
     * 下单会员ID
     */
    private Long memberId;

    /**
     * 普通订单1，预售订单2，拼团订单3
     */
    private Integer orderType;

    /**
     * 商品总价
     */
    private BigDecimal totalAmount;

    /**
     * 商品实际付款金额
     */
    @Null(groups = OrderAdd.class)
    private BigDecimal payAmount;

    /**
     * 运费金额
     */
    private BigDecimal freightAmount;

    /**
     * 促销优惠金额
     */
    private BigDecimal promotionAmount;

    /**
     * 积分抵扣金额
     */
    private BigDecimal integrationAmount;

    /**
     * 下单时使用的积分数
     */
    private Integer useIntegration;

    /**
     * 优惠券抵扣金额
     */
    private BigDecimal couponAmount;

    /**
     * 优惠卷码
     */
    private String couponId;


    /**
     * 订单备注
     */
    private String note;

}
